package entidades.proxies;

import entidades.Ancora;
import entidades.DesenhoDinamico;
import entidades.Estilo;
import entidades.Familia;
import entidades.Rectangulo;
import entidades.Telha;
import entidades.TipoTelha;
import gestordeentidades.GestorDeEntidades;
import javafx.collections.FXCollections;

/**
 * Trabalho DAS - 2014/2015
 * @author a21210380, a21190325, a21210392
 */
public class ProxyTelha extends Telha {

    public ProxyTelha(Familia familia, Rectangulo rectangulo, TipoTelha tipoDeTelha, Estilo estilo, DesenhoDinamico desenho) {
        super(familia, rectangulo, tipoDeTelha, estilo, desenho);
    }
    
    @Override
    public boolean adicionarAncora(Ancora ancora) {
        if(ancoras == null) {
            ancoras = FXCollections.observableList(
                    GestorDeEntidades.getInstance().filtrarEntidades(Ancora.class, (Ancora e) -> {
                        return e.getTelha() == this;
                    }));
        }
        return super.adicionarAncora(ancora);
    }
    
    @Override
    public boolean removerAncora(Ancora ancora) {
        if(ancoras == null) {
            ancoras = FXCollections.observableList(
                    GestorDeEntidades.getInstance().filtrarEntidades(Ancora.class, (Ancora e) -> {
                        return e.getTelha() == this;
                    }));
        }
        return super.removerAncora(ancora);
    }
    
}
